namespace ext.data
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Configuration Structure</summary>
	/// <definedin>src\data\DataWriter.js</definedin>
	public sealed class DataWriter_Configuration : Record
	{
		
		#region Fields
		/// <summary>
		/// false by default. Set true to have DataWriter return ALL fields of a modified
		/// record -- not just those that changed.
		/// false to have DataWriter only request modified fields from a record.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;false&lt;/tt&gt; by default. Set &lt;tt&gt;true&lt;/tt&gt; to have DataWriter return ALL fields of a modified
		/// record -- not just those that changed.
		/// &lt;tt&gt;false&lt;/tt&gt; to have DataWriter only request modified fields from a record.
		/// </htmlSummary>
		/// <definedin>src\data\DataWriter.js</definedin>
		[ScriptName("writeAllFields")]
		public bool WriteAllFields;
		
		/// <summary>
		/// false by default. Set true to have the DataWriter always write HTTP params as a list,
		/// even when acting upon a single record.
		/// </summary>
		/// <htmlSummary>
		/// &lt;tt&gt;false&lt;/tt&gt; by default. Set &lt;tt&gt;true&lt;/tt&gt; to have the DataWriter &lt;b&gt;always&lt;/b&gt; write HTTP params as a list,
		/// even when acting upon a single record.
		/// </htmlSummary>
		/// <definedin>src\data\DataWriter.js</definedin>
		[ScriptName("listful")]
		public bool Listful;
		
		/// <summary>
		/// Abstract method that should be implemented in all subclasses
		/// (e.g.: {@link Ext.data.JsonWriter#updateRecord JsonWriter.updateRecord}
		/// </summary>
		/// <definedin>src\data\DataWriter.js</definedin>
		[ScriptName("updateRecord")]
		public System.Delegate UpdateRecord;
		
		/// <summary>
		/// Abstract method that should be implemented in all subclasses
		/// (e.g.: {@link Ext.data.JsonWriter#createRecord JsonWriter.createRecord})
		/// </summary>
		/// <definedin>src\data\DataWriter.js</definedin>
		[ScriptName("createRecord")]
		public System.Delegate CreateRecord;
		
		/// <summary>
		/// Abstract method that should be implemented in all subclasses
		/// (e.g.: {@link Ext.data.JsonWriter#destroyRecord JsonWriter.destroyRecord})
		/// </summary>
		/// <definedin>src\data\DataWriter.js</definedin>
		[ScriptName("destroyRecord")]
		public System.Delegate DestroyRecord;
		#endregion
	}
}
